package com.roads.workflow.service.impl;

import java.util.List;

import com.roads.common.utils.uuid.IdUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.roads.workflow.mapper.WorkflowMeterageNodeMapper;
import com.roads.workflow.domain.WorkflowMeterageNode;
import com.roads.workflow.service.IWorkflowMeterageNodeService;

/**
 * 流程管理-计量流程节点Service业务层处理
 * 
 * @author nhp
 * @date 2022-05-30
 */
@Service
public class WorkflowMeterageNodeServiceImpl implements IWorkflowMeterageNodeService {

    @Autowired
    private WorkflowMeterageNodeMapper mapper;

    /**
     * 根据主键ID查询详情
     * 
     * @param id 流程管理-计量流程节点主键
     * @return 流程管理-计量流程节点
     */
    @Override
    public WorkflowMeterageNode getModelById(String id) {
        return mapper.getModelById(id);
    }

    /**
     * 查询列表
     * 
     * @param model 流程管理-计量流程节点
     * @return 流程管理-计量流程节点
     */
    @Override
    public List<WorkflowMeterageNode> selectModelList(WorkflowMeterageNode model) {
        return mapper.selectModelList(model);
    }

    /**
     * 新增
     * 
     * @param model 流程管理-计量流程节点
     * @return 结果
     */
    @Override
    public int insert(WorkflowMeterageNode model) {
        model.setWorkflowNodeUuid(IdUtils.simpleUuid());
        // 获取最大序列号
        int maxOrder = mapper.getMaxOrder(model.getWorkflowUuid());
        maxOrder++;
        model.setWorkflowNodeOrder(maxOrder);
        return mapper.insert(model);
    }

    /**
     * 修改
     * 
     * @param model 流程管理-计量流程节点
     * @return 结果
     */
    @Override
    public int update(WorkflowMeterageNode model) {
        return mapper.update(model);
    }

    /**
     * 批量删除
     * 
     * @param ids 主键集合
     * @return 结果
     */
    @Override
    public int deleteByIds(String[] ids) {
        return mapper.deleteByIds(ids);
    }

    /**
     * 删除
     * 
     * @param id 流程管理-计量流程节点主键
     * @return 结果
     */
    @Override
    public int delete(String id) {
        return mapper.delete(id);
    }
}
